package org.Record;

import org.Filed.FieldInfo;

import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.List;

// jdk 14
public class TestRecord {
//    record Point(int x, int y) {
//        public Point(int x, int y) {
//            // 这是我们编写的Compact Constructor:
//            if (x < 0 || y < 0) {
//                throw new IllegalArgumentException();
//            }
//            // 这是编译器继续生成的赋值代码:
//            this.x = x;
//            this.y = y;
//        }
//
//        public static Point of() {
//            return new Point(0, 0);
//        }
//
//        public static Point of(int x, int y) {
//            return new Point(x, y);
//        }
//
//        public int getX() {
//            return x;
//        }
//
//        public int getY() {
//            return y;
//        }
//
//        @Override
//        public String toString() {
//            StringBuilder stringBuilder = new StringBuilder();
//            stringBuilder.append(this.getClass().getName()).append("\n");
//
//            List fieldInfo = FieldInfo.getFiledsInfo(this);
//            for (Object info : fieldInfo) {
//                stringBuilder.append(((HashMap<?, ?>) info).get("name")).append(" ")
//                        .append(((HashMap<?, ?>) info).get("type")).append(" ")
//                        .append(((HashMap<?, ?>) info).get("value"))
//                        .append("\n");
//
//            }
//
//            return stringBuilder.toString();
//        }
//    }
//
//
//    public static void test() {
//        Point p = new Point(123, 456);
//        System.out.println(p.x());
//        System.out.println(p.y());
////        System.out.println(p);
//        System.out.println(Point.of(100, 300));
////        System.out.println(Point.of(100, 200));
//    }
}
